home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- # Make a Linux ELF shared library
-
- # First argument is name of output library
- # Rest of arguments are object files
-
- LIBRARY=$1
-
- shift 1
- OBJECTS=$*
-
- # the following provided by Thomas Hiller (Hiller@tu-harburg.d400.de)
-
- LIBMAJOR=2
- LIBMINOR=2
- VERSION="${LIBMAJOR}.${LIBMINOR}"
-
- LIBNAME=`basename $LIBRARY`
- ARNAME=`basename $LIBNAME .so`.a
- DIRNAME=`dirname $LIBRARY`
-
- gcc -shared -Wl,-soname,${LIBNAME}.${LIBMAJOR} -o ${LIBRARY}.${VERSION} ${OBJECTS}
- (cd $DIRNAME; ln -s ${LIBNAME}.${VERSION} ${LIBNAME}.${LIBMAJOR})
-
- ln -s ${LIBNAME}.${LIBMAJOR} ${LIBRARY}
-
-
- # also make regular .a files,
- # provided by Danek Duvall (duvall@dhduvall.student.princeton.edu)
-
- ar ruv ${DIRNAME}/${ARNAME} ${OBJECTS}
- ranlib ${DIRNAME}/${ARNAME}
-
-
- # Print a reminder about shared libs:
- DIR=`cd .. ; pwd`
- echo
- echo "******Be sure to add" ${DIR}"/lib to your LD_LIBRARY_PATH variable"
- echo
- sleep 2
-
-
-
- #### NOTES:
- # One Mesa user reports having to run the "ldconfig -v" command to make
- # Linux aware of the shared libs.
-